使用IntelliJ IDEA建立第一个Spring MVC应用

软件版本:
IntelliJ IDEA 2017.3.3 x64
Spring 4.3.14RELEASE
Tomcat 9.0.4
hxJOu.png
hx45N.png
初始的结构目录如下:
hxZU9.png
可以看到此时WEB-INF目录下有三个配置文件,分别为applicationContext.xmldispatcher-servlet.xml以及web.xml
我们首先对web.xml进行修改
hxhgA.png
然后对dispatcher-servlet.xml进行修改
hxyQO.png
其中第一个框是为了增加组件的自动扫描,其中base-package的值取决于你在src下需要进行扫描的包名。
第二个框指明了解析器如何对你所返回的值进行解析,我们对前缀和后缀进行限定,这样就相当于解析器在对你所返回的值进行解析时自动访问/WEB-INF/jsp/XXX.jsp的文件。

我们不对applicationContext.xml文件进行处理。
以上则是对配置文件的处理。


以下是对具体业务逻辑的处理。
hx6cJ.png
首先在controller这个包下创建一个java类用于充当控制器。
然后如2所示,在类上使用@Controller作为注解,用于告知Spring容器,该类为控制器类,应被当作控制器进行解析。3的@RequestMapping是请求映射,同样是采用注解的形式,4中的/hello是访问时(例如:localhost:8080/hello),当该地址被访问时,会被自动映射到5中的“hello”,这个hello是代表之前在dispatcher-servlet.xml中配置的地址(/WEB-INF/jsp)下的hello.jsp文件。所以此时我们应在jsp目录下创建hello.jsp文件以满足解析需要。
hxCJR.png
此msg为之前在helloController中使用modelMap添加的属性值中的msg,此处使用el表达式进行获取。至此,所有的代码准备工作已经完成,后续就是启动服务,此处我们使用Tomcat9.0.4
hxe9Y.png
hxEIr.png
hxrXd.png
点击OK即可完成Tomcat的链接。
然后启动该项目
hxUOi.png
此时会多出一个out文件夹,里面你可以看到被打包出来的文件。不过此时会报错。
hxtQl.png
解决方法如下:
hxKUy.png
hx1nX.png
注意在lib中添加jstl.jarservlet-api.jarstandard.jar,否则可能出现报错情况。
hxIiB.png
至此完成所有的工作,启动tomcat后在地址栏输入localhost:8080/hello,即可看到hello world。